Storage systems manage massive amounts of data and metadata and perform massive numbers of I/O (input/output) operations. For any storage stack, metadata I/Os are unavoidable. Modules such as file systems and volume managers keep metadata in storage memory, and need to reference and update this metadata whenever there is a change in layout due to file creation, file deletion, file truncation, writing to the file, etc. Other modules such as the volume manager also maintain metadata in storage memory to persist the volume layout. One major consumer of I/O operations is storage tiering, which keeps working data in a fast cache in a fast storage tier such as a solid-state drive (SSD) and purges data to a slow storage tier such as a hard disk drive (HDD) at various intervals. Storage tiering systems can also read hot data from a slower tier to a faster tier. In storage systems, there can be internal I/O operations. Episodic data synchronization generates a lot of I/O traffic periodically. Storage systems that have a large amount of I/O operations on SSD and HDD or other underlying storage devices or different storage tiers can be susceptible to giving false capacity determinations for Quality of Service operation. Varying internal I/O traffic combined with false capacity determinations result in uneven distribution of capacity among applications, congesting the system, and not meeting a service level agreement (SLA). Therefore, there is a need in the art for a solution which overcomes the drawbacks described above.